home *** CD-ROM | disk | FTP | other *** search
- /**/
-
- parse arg n
-
- options results
-
- signal on halt
- signal on break_c
-
- l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
- if AddLibrary("rxmui.library","rxsocket.library")~=0 then exit
-
- call rxmuiopt("debugmode showerr")
-
- call initAll(n)
- call handleApp
- exit
- /***********************************************************************/
- initAll: procedure expose globals.
- parse arg n
- call createApp
-
- call set("mwin","open",1)
- call getattr("mwin","open","o")
- if o=0 then do
- say "can't open window"
- exit
- end
-
- "GETCHANNEL"
- global.ch=result
- global.reasone = ""
- global.MaskType = 0
- call selected(n)
- return
- /***********************************************************************/
- handleApp: procedure expose globals.
- ctrl_c=2**12
- s=0
- do forever
- call handle("APP","H",s)
- do i=0 to h.num-1
- id=h.i
- select
- when id="QUIT" then exit
- when id="GETNICK" then call selected
- when id="MASKTYPE" then do
- global.banMask=makeMask()
- call set("banmask","contents",global.banMask)
- end
- when id="OP" then call op
- when id="WHOIS" then call whois
- when id="UINFO" then call UInfo
- when id="DEOP" then call deop
- when id="KICK" then call kick
- when id="BAN" then call ban
- when id="KBAN" then call kban
- when id="TBAN" then call tban
- otherwise nop
- end
- end
- s=Wait(or(h.signals,ctrl_c))
- if and(s,ctrl_c)>0 then exit
- end
- exit
- /***********************************************************************/
- err: procedure expose globals. sigl rxmuierror
- parse arg res
- say signl "["res"]"
- say getrxmuistring(res) "in line" sigl-1 rxmuierror
- exit
- /***********************************************************************/
- createApp: procedure expose globals.
-
- app.Title="Show"
- app.Version="$VER: Show 1.0 (17.12.99)"
- app.Copyright="©1999, alfie"
- app.Author="alfie"
- app.Description="RxMui Show"
- app.Base="SHOW"
- app.SubWindow="mwin"
- mwin.ID="MAIN"
- mwin.Title="RxMUI Show"
- mwin.Contents="mgroup"
- mgroup.horiz=1
-
- mgroup.0="sg"
- sg.class="group"
- sg.columns=2
- sg.0=label("_Nick","double")
- sg.1="ng"
- ng.class="group"
- ng.spacing=0
- ng.horiz=1
- ng.0=string("nick","n")
- ng.1=MakeObj("getnick","imagebutton","popup")
- sg.2=label("_BanMask","double")
- sg.3=string("banmask","b")
- sg.4=label("_Reasone","double")
- sg.5=string("reasone","r")
- sg.6=label("Ban _Mask","double")
- sg.7="bmg"
- bmg.class="group"
- bmg.horiz=1
- bmg.0="masktype"
- masktype.weight=20
- masktype.class="cycle"
- masktype.entries="nick|user|ip|bad|domain"
- bmg.1=hspace()
-
- mgroup.1 = MAkeObj("","balance")
-
- mgroup.2="bg"
- bg.class="group"
- bg.weight=0
- bg.innerleft=0
- bg.innerright=0
- bg.innertop=0
- bg.innerbottom=0
- bg.spacing=0
- bg.columns=2
- call child("bg",button("whois","_Whois"))
- call child("bg",button("UInfo","_UInfo"))
- call child("bg",button("op","_Op"))
- call child("bg",button("deop","_DeOp"))
- call child("bg",button("kick","_Kick"))
- call child("bg",button("ban","Ban"))
- call child("bg",button("tban","_TBan"))
- call child("bg",button("kban","_KBan"))
- call child("bg",hvspace())
-
- res=NewObj("APPLICATION","APP")
- if res~=0 then call err(res)
-
- call Notify("MWIN","CLOSEREQUEST",1,"APP","RETURNID","QUIT")
-
- call Notify("nick","newcontents","everytime","APP","setvar","GLOBAL.NICK")
- call Notify("reasone","newcontents","everytime","APP","setvar","GLOBAL.REASONE")
- call Notify("banmask","newcontents","everytime","APP","setvar","GLOBAL.BANMASK")
- call Notify("reasone","newcontents","everytime","APP","setvar","GLOBAL.REASONE")
- call Notify("masktype","active","everytime","APP","setvar","GLOBAL.MASKTYPE")
-
- call Notify("getnick","pressed",0,"app","returnid")
- call Notify("masktype","active","everytime","app","returnid")
- call Notify("op","pressed",0,"app","returnid")
- call Notify("whois","pressed",0,"app","returnid")
- call Notify("deop","pressed",0,"app","returnid")
- call Notify("kick","pressed",0,"app","returnid")
- call Notify("ban","pressed",0,"app","returnid")
- call Notify("kban","pressed",0,"app","returnid")
- call Notify("tban","pressed",0,"app","returnid")
-
- return
- /***********************************************************************/
- halt:
- break_c:
- exit
- /**************************************************************************/
- whois: procedure expose global.
- if global.nick=="" then return
- "RAW WHOIS" global.nick
- return
- /**************************************************************************/
- UInfo: procedure expose global.
- if global.nick=="" then return
- "RAW ctcp UINFO" global.nick
- return
- /**************************************************************************/
- op: procedure expose global.
- if global.nick=="" then return
- "SAY /OP" global.nick
- return
- /**************************************************************************/
- deop: procedure expose global.
- if global.nick=="" then return
- "SAY /DEOP" global.nick
- return
- /**************************************************************************/
- kick: procedure expose global.
- if global.nick=="" then return
- r=global.reasone
- if r=="" then r="Goodbye honey"
- "SAY /KICK" global.nick r
- return
- /**************************************************************************/
- ban: procedure expose global.
- if global.nick=="" | global.banMask="" then return
- "SAY /BAN" global.banMask
- return
- /**************************************************************************/
- kban: procedure expose global.
- if global.nick=="" | global.banMask="" then return
- if a="" then return
- "SAY /DEOP" global.nick
- "SAY /BAN" global.banMask
- call kick
- return
- /**************************************************************************/
- tban: procedure expose global.
- if global.nick=="" | global.banMask="" then return
- call kban
- "SAY /RX rexx/authpunish" global.ch global.banMask 60
- return
- /**************************************************************************/
- kruseIT: procedure expose global.
- if global.nick=="" then return
- "SAY /RX kruser" global.nick
- return
- /**************************************************************************/
- selected: procedure expose global.
- parse arg n
- if n=="" then do
- "GETSELECTEDUSER"
- if rc==5 then return
- global.nick=result
- end
- else global.nick=n
- call set("nick","contents",global.nick)
- global.banMask=makeMask()
- call set("banmask","contents",global.banMask)
- return
- /**************************************************************************/
- syntax:
- "ECHO" rc sigl
- exit
- /**************************************************************************/
- makeMask: procedure expose global.
- "USERHOST" global.nick
- if rc==5 then return ""
- u=result
- parse var u user"@"rest
- if pos(left(user,1),"~-")~=0 then parse var user +1 user
- select
- when global.MaskType==0 then do
- mask="*"global.nick"*!*@*"
- return mask
- end
- when global.MaskType==1 then do
- mask="*!*"user"*@*"
- return mask
- end
- when global.MaskType==2 then do
- mask="*!*@"rest
- return mask
- end
- when global.MaskType==3 then do
- if IsDotAddr(rest) then return "*!*@"rest
- mask="*!*@"
- do i=1 to length(rest)
- if DataType(substr(rest,i,1),"N") then do
- mask=mask||"*"
- do while DataType(substr(rest,i,1),"N");i=i+1;end
- end
- mask=mask||substr(rest,i,1)
- end
- return mask
- end
- when global.MaskType==4 then do
- if IsDotAddr(rest) then do
- parse var rest p1"."p2"."
- mask="*!*@"p1"."p2".*"
- end
- else do
- p=LastPos(".",rest)
- mask="*!*@*."right(rest,length(rest)-p)
- end
- return mask
- end
- otherwise nop
- end
- return u
- /**************************************************************************/
-